Methods, systems, and computer program products for providing telecommunications services between a session initiation protocol (sip) network and a signaling system 7 (ss7) network

ABSTRACT

Methods, systems, and computer program products for providing telecommunication services between a SIP network and an SS7 network are disclosed. In one method, SIP/SS7 gateway receives an INVITE message from a SIP proxy server. The SIP/SS7 gateway extracts a called party number from the INVITE message and determines whether a telecommunications service is required and a type of service required for the INVITE message based on the called party number. The SIP/SS7 gateway then formulates an SS7 query to a database corresponding to the identified service type. The SIP/SS7 gateway receives a response from the database and uses data from the response to facilitate completion of the call. In one example, the SIP/SS7 gateway may forward a routing number extracted from the response back to the originating SIP proxy server. In another example, the SIP/SS7 gateway may generate a new INVITE message and forward the new INVITE message to a terminating SIP proxy server. In yet another example, the SIP/SS7 gateway may formulate a second query to the same database or to a different database to obtain further information for facilitate completion of the call.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/913,735, filed Oct. 27, 2010, which is a continuation of U.S. patent application Ser. No. 11/085,620 (now U.S. Pat. No. 7,856,094), filed Mar. 21, 2005, the disclosure of which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The subject matter disclosed herein relates to providing inter-network telecommunications services. More particularly, the subject matter disclosed herein relates to methods, systems, and computer program products for providing telecommunications services between a session initiation protocol (SIP) network and a signaling system 7 (SS7) network.

BACKGROUND ART

Telecommunications networks currently utilize signaling system 7 (SS7) signaling protocol to effect the exchange of information used to provide advanced intelligent network (AIN) and intelligent network (IN) services, such as number portability (NP) service and toll-free calling service. Such services will be referred to herein as “telecommunications services.” The data required to provide such telecommunications services may be stored in a service control point (SCP). A service may be invoked when a switch that originates a call determines that an IN or AIN trigger exists for the called party number, queries an SCP, and obtains a response including the requested information.

While such services are well developed in SS7 networks, such services have not been widely implemented in IP telephony networks, such as SIP networks. SS7 networks are not directly compatible with SIP networks because they each utilize different communications protocols. Communication between such networks may be necessary when a call originated by a SIP device in the SIP network requires information stored within the SS7 network.

One conventional method for retrieving telecommunications service information from an SS7 network for a SIP device is described in U.S. Pat. No. 6,785,374. The method includes sourcing a request for transaction capabilities application part (TCAP) information from a SIP proxy within a SIP network. This request is forwarded via a SIP message to an SS7/SIP signaling gateway to request that the SS7/SIP gateway formulate a TCAP query in the SS7 network. The request includes a SIP extension header that identifies the type of query being requested. In response to the request, the gateway transmits a TCAP message to an SCP within the SS7 network. The SCP then processes the request and returns a TCAP response to the SS7/SIP signaling gateway. The SS7/SIP gateway forwards the TCAP response to the originating SIP proxy.

One problem with such a technique is that it places the burden on the originating SIP proxy server of determining when to request a specific service from the SS7 network and identifying the service type. For example, in order to request LNP service, the SIP proxy server must be able to recognize that a called number has been ported. Similarly, in order to recognize a call that requires another service, such as toll free service, the SIP proxy server must include service logic that recognizes dialed toll free numbers.

Another problem with the method described in the '674 patent is that some calls may require multiple services, and the '674 patent fails to address this issue. For example, a call to an 800 number may result in the 800 number being translated into a routing number that requires number portability processing. Such a call would require the SIP proxy server to include service logic that recognizes the toll free number, the ported number, and that formulates two requests to the gateway for two different queries to the SS7 network. Requiring that SIP proxy server formulate two queries further increases the burden on the SIP proxy server. In addition, requiring that the SIP proxy server recognize and communicate the service request type to the SIP/SS7 gateway requires a non-standard SIP implementation and decreases the universal applicability of the gateway.

Accordingly, there exists a need for methods, systems, and computer program products for providing telecommunications services between a SIP network and an SS7 network in an efficient manner and that reduces the burden on SIP devices, such as SIP proxy servers.

SUMMARY

According to one aspect, the subject matter described herein comprises methods, systems, and computer program products for providing telecommunications services between a SIP network and an SS7 network. A method for providing such services may include receiving a signaling message relating to a call at a SIP/SS7 gateway. The signaling message may include a called party number. At the SIP/SS7 gateway, a telecommunications service required for the call may be identified based on the called party number. Once the service is identified, the SIP/SS7 gateway formulates a TCAP query and sends the TCAP query to the SS7 network. The SS7 network routes the TCAP query to the appropriate destination. The destination provides a TCAP response, which is forwarded from the SS7 network to the SIP/SS7 gateway.

The SIP/SS7 gateway may perform a variety of actions based on the TCAP response. For example, if the initial query is an 800 number query, the TCAP response may contain a routing number. If it is desirable to ensure that the routing number has not been ported or to translate the routing number if it has been ported, the SIP/SS7 gateway may automatically formulate an LNP query to the SS7 network and receive an LNP response. The SIP/SS7 gateway may then communicate the directory number obtained from the LNP query to the originating SIP proxy server and may also inform the SIP proxy server that an LNP lookup has been completed. Performing two queries in response to one SIP message reduces the traffic in the SIP network and reduces the burden on the SIP proxy server. In addition, informing the SIP proxy server that the LNP lookup has been performed further reduces the burden on the SIP proxy server.

In yet another alternate implementation, after the toll free and LNP queries have been performed, rather than forwarding the directory number to the originating SIP proxy so that the originating SIP proxy can complete the call, the SIP/SS7 gateway may originate a new INVITE message and forward the new INVITE message to the end office associated with the directory number obtained from the LNP or the routing number from 800 number lookup. Formulating the INVITE message rather than sending a REDIRECT message back to the originating SIP proxy further reduces traffic in the SIP network and also reduces the burden on the SIP proxy server.

The subject matter described herein may be implemented as a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include chip memory devices, disk storage devices, applications specific integrated circuits, and downloadable electrical signals.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which:

FIG. 1 is a schematic diagram of an exemplary distributed network communication system including a SIP/SS7 signaling gateway (SSG) and a signal transfer point (STP) for providing telecommunications services between a SIP network and an SS7 network according to an embodiment of the subject matter described herein;

FIGS. 2A and 2B are a flow chart of an exemplary process for providing telecommunications services signaling between a SIP network and an SS7 network according to an embodiment of the subject matter described herein;

FIG. 3 is a schematic diagram of an exemplary message processor (MP) for providing SIP/SS7 interworking according to an embodiment of the subject matter described herein;

FIG. 4 is a message flow diagram illustrating an exemplary set of message exchanges for providing telecommunications services between a SIP network and an SS7 network according to an embodiment of the subject matter described herein; and

FIG. 5 is a message flow diagram illustrating an alternative set of exemplary message exchanges for providing telecommunications services between a SIP network and an SS7 network according to an embodiment of the subject matter described herein.

DETAILED DESCRIPTION

Methods, systems, and computer program products for providing telecommunications services signaling between a session initiation protocol (SIP) network and a signaling system 7 (SS7) network may be implemented in any suitable device having SIP and SS7 protocol capabilities. One example of a combination of hardware platforms suitable for implementing the methods, systems, and computer program products described herein is the Eagle® STP platform and the TekServer™ platform, both available from Tekelec of Calabasas, Calif. The Eagle® STP platform may implement the STP functionality described herein for delivering messages to SCPs in the SS7 network that provide telecommunications services, such as LNP, toll free, line information database (LIDB), CLASS, or other services. The TekServer™ platform may be used to implement the SIP/SS7 interworking functionality described herein.

FIG. 1 is a network diagram illustrating an exemplary network, generally designated 100, including an SS7/SIP signaling gateway (SSG) 102 and a signal transfer point (STP) 104 for enabling communication between a SIP network (generally designated 106) and an SS7 network (generally designated 108). SIP network 106 is connected to SS7 network 108 via SSG 102 and STP 104. SS7 network 108 may include one or more nodes, such as a service control point (SCP) 110, for storing telecommunications service information for SS7 network 108. The telecommunications service information may include information for providing toll-free calling, LNP, LIDB, CLASS, calling name (CNAM), or any other suitable service. Exemplary services that may be provided by SS7 network 108 will be described in detail below.

SIP network 106 may include one or more SIP devices, such as a user agent, a proxy server, and a redirect server. In FIG. 1 SIP network 106 includes a SIP user agent 112 and an SIP proxy server 114. SIP user agent 112 may be a SIP phone. SIP proxy server 114 implements standard SIP proxy server functions, such as signaling to establish sessions on behalf of user agent 112. According to one implementation of the subject matter described herein, SIP proxy server 114 is not required to determine whether queries to SS7 network are required for calls originated by SIP user agent 112. SIP proxy 114 may implement a standard version of SIP and simply forward calls initiated by user agent 112 to SSG 102. In such an implementation, SSG 102 appears as a SIP redirect server to SIP proxy 114. SSG 102 may determine whether a query is required, the type of query required and formulate the appropriate query to SS7 network 108. In an alternate implementation, SIP proxy server 114 may determine whether a query to SS7 network 108 is required and allow SSG 102 to identify the type of query required. Because SSG 102 is capable of identifying whether a query is required and/or the type query required in order to provide services for calls initiated in SIP network 100, proxy servers, such as SIP proxy server 114, can implement standard versions of the SIP protocol without requiring extension headers. If SSG 102 determines that a query is not required, SSG 102 may simply forward the call to its intended destination by formulating and sending the appropriate INVITE message to the destination.

In a typical call setup scenario SIP user agent 112 may send an INVITE message to SIP proxy server 114. In response, SIP proxy server 114 may formulate an INVITE message and send the INVITE message to SSG 102. SSG 102 may include a message processor (MP) 116 that receives the INVITE message determines whether a query is required and determines the type of service required. In one exemplary implementation, message processor 116 may identify whether a query is required and the service type based on the called party number contained in the “To” field of the SIP message and formulate a corresponding TCAP message. Message processor 116 may forward the TCAP message to STP 104. STP 104 routes the message to SCP 110. SCP 110 responds to the TCAP query by providing the requested service information and forwards the response back to message processor 116 via STP 104. Message processor 116 may formulate a SIP message that contains the service information and forward the SIP message to SIP proxy server 114. SIP proxy server 114 may then use the received information to complete the call. In an alternate implementation, message processor 116 may formulate a new INVITE message based on the response data and forward the new INVITE message to a SIP proxy server associated with the called party. Because the SIP proxy server is not required to determine whether a telecommunications service is being requested and/or the type of service being requested, the burden on SIP proxy server 114 is reduced over conventional SIP/SS7 interworking implementations.

FIGS. 2A and 2B are a flow chart illustrating exemplary steps that may be performed by SSG 102 in automatically identifying and providing telecommunications services in response to a SIP INVITE message according to an embodiment of the subject matter described herein. Referring to FIG. 2A, in step 200, SSG 102 receives an INVITE message from a SIP proxy server. In step 201, SSG 102 determines whether a telecommunications service is required. Determining whether a telecommunications service is required may include analyzing the called party number in the “To” field of the INVITE message and determining whether any IN or AIN triggers have been defined for the number. If a telecommunications service is not required, control proceeds to step 202 where SSG 102 formulates an INVITE message and sends the message to the destination. The type of message formulated depends on whether the destination of the call is a SIP destination or an SS7 destination. If the destination is a SIP destination, an INVITE message will be formulated. In step 201, if it is determined that a telecommunications service is required, control proceeds to step 203 where SSG 102 determines the type of calling service required based on the called party number. The called party number may be extracted from the “To” field of the INVITE message. The service type may be identified based on the type of number. For example, toll free calls may be identified by called party numbers whose first three digits are 8xx, where x denotes zero, eight, or other digit used by telecommunications service provides to identify toll free calling services. Other service types may be identified by comparing the called party number to a database of called party numbers maintained by SSG 102 that correlates called party numbers with service types.

Referring to FIG. 2B, in step 204, if it is determined that toll free service is required, control proceeds to step 206 where SSG 102 formulates a TCAP query and sends the TCAP query to a toll free calling service SCP in the SS7 network. In step 208, SSG 112 receives a TCAP response including a routing number (RN) from the SCP. In one exemplary implementation, SSG 102 may simply forward the routing number to SIP proxy server 114 so that SIP proxy server 114 can complete the call. However, according to another aspect of the subject matter described herein, an automatic number portability lookup may be performed to determine whether the routing number has been ported. In step 210, it is determined whether automatic number portability lookup functionality is enabled. If automatic number portability lookup functionality is enabled, control proceeds to step 212 where SSG 102 formulates a TCAP query and sends the TCAP query to an LNP database in the SS7 network. In step 214, SSG 102 receives a number portability query response including a directory number corresponding to the routing number from the 800 number lookup.

Once the directory number is received or if automatic number portability lookup is not enabled, control proceeds to step 216 where it is determined whether SSG 102 is configured to generate a new INVITE to the called party SIP proxy corresponding to the RN. If the SSG is not configured to generate a new INVITE to the called party SIP proxy corresponding to the RN, control proceeds to step 218 where SSG 102 communicates the RN and the number portability lookup status to the originating SIP proxy server. Control then proceeds to step 220 where the originating SIP proxy server completes the call with the ported subscriber.

Returning to step 216, if SSG 102 is configured to generate a new INVITE message, control proceeds to step 222 where the SSG generates the new INVITE message and forwards the new INVITE message to the called party SIP proxy. Returning to step 204, if SSG 102 determines the toll free calling service is not required, control proceeds to step 224 where TCAP processing is performed for the other service type identified in step 202.

Thus, using the steps illustrated in FIGS. 2A and 2B, SSG 102 automatically identifies whether a telecommunications service is required, identifies the service type, and formulates the corresponding TCAP queries in response to an INVITE message from the SIP proxy server. Because the SIP proxy server is not required to send any non-standard SIP information to SSG 102 in order to identify the service type, SIP proxy server 114 can implement the standard SIP protocol without any extension headers. In addition, because two queries are performed in response to one message, the processing burden on the SIP proxy server is reduced.

Another important feature of the method illustrated in FIG. 2 is that SSG 102 can communicate number portability lookup status to the originating SIP proxy server. Yet another important feature of the method illustrated in FIG. 2 is that SSG 102 can generate a new INVITE message and signals to complete the call with the ported subscriber.

As stated above, the SIP/SS7 interworking functionality described herein may be implemented using one or more message processors within SSG 102. FIG. 3 is a block diagram illustrating an exemplary internal architecture of message processor 116 illustrated in FIG. 1. In FIG. 3, SIP server framework (SSF) 300 and interworking unit (IWU) 302 handle SIP messages from the SIP network, identify whether a telecommunications service is required for a SIP message, identify the type of service, and for messages for which a telecommunications service is required, forward the required information to and request query formulation from TCAP component 304. For INVITE messages for which a telecommunications service is not required, if the INVITE messages are for calls that terminate in the SS7 network, IWU 302 may generate a SIP 302 message back to SIP Proxy. If the INVITE message does not require a telecommunications service, and the call is destined for a SIP network, IWU 302 may forward the INVITE message to a called party SIP proxy server in the SIP network.

TCAP component 304 formulates the corresponding TCAP queries and forwards the TCAP queries to SS7 over IP protocol stack 308. SS7 over IP protocol stack 308 forwards TCAP queries to the SS7 network. For TCAP queries, protocol stack 308 may utilize SCCP, M3UA, SCTP, and IP layers. Although not illustrated in FIG. 3, message processor 116 may also include a standard SS7 protocol stack for sending and receiving SS7 messages over TDM-based SS7 links. In such an implementation, the M3UA and SCTP layers in protocol stack 308 would be replaced by MTP levels 1 through 3.

SME (TCAP/SCCP) 310 configures the TCAP and SCCP stack components. SME (M3UA/SCTP) 312 configures SS7 over IP stack 308. SMEs 310 and 312 read configuration files 314 to configure protocol stacks 306 and 308. Operations, administration, and maintenance (OAM) agents 316 create the configuration files for the software components of message processor 116. In particular, OAM agents 316 receive triggers from provisioning server 318 and extract configuration information from database server 320. OAM agents 316 create configuration files 314 and start the SSF/IWU, TCAP, SCCP/M3UA/SCTP, and SME processes. OAM agents 316 also verify consistency between configuration files and data stored on database server 320.

Application server components 322 log events generated by message processor 116. For example, application server components 322 may generate a log file that stores the alarm events. These functions may be performed by a logger daemon (logd). Application server components 322 may also include a measurements daemon (measd) that generates counts based on messages processed or generated by message processor 116. The sentry component of application server components 322 starts, stops, and restarts application server applications when it is determined that a particular application has failed.

FIG. 4 is a message flow diagram illustrating exemplary messages that may be exchanged between the SIP network and the SS7 network for a call that requires both toll free and LNP service. Referring to line 1 of the message flow diagram, SIP user agent 112 sends an INVITE message to SIP proxy server 114. The To header of the INVITE message may include the carrier identification code. In line 2 of the message flow diagram, proxy server 114 forwards the INVITE message to SSG 102. In line 3 of the message flow diagram, proxy 114 returns a SIP 100 Trying message to user agent 112.

In line 4 of the message flow diagram, SIP SSF 300 of SSG 102 sends a CallBack message to IWU 302. In line 5 of the message flow diagram, SIP SSF 300 returns a 100 Trying message to proxy 114 in response to the INVITE message of line 2.

In response to the CallBack message in line 4, in line 6 of the message flow diagram, IWU 302 identifies the message as requiring a toll free service, creates a new database context for maintaining mapping between SIP and TCAP transaction, and requests an AIN query for the toll free number. The toll free number may be extracted from the To field of the original SIP INVITE message. In line 7 of the message flow diagram, SSG 102 generates the TCAP query to STP 104. The query may be generated by TCAP component 304 illustrated in FIG. 3.

STP 104 performs global title translation to identify the point code and subsystem number of SCP 110. In line 8 of the message flow diagram, STP 104 forwards the TCAP query to SCP 110. In line 9 of the message flow diagram, SCP 110 returns a TCAP response to the TCAP query including the location routing number (LRN) corresponding to the toll free number. In line 10 of the message flow diagram, STP 104 forwards the response to SSG 102. Within SSG 102, the LRN is forwarded to IWU 302.

Rather than forwarding the LRN to proxy 114, in line 12 of the message flow diagram, if automatic LNP lookup functionally is enabled, IWU 302 requests an LNP query and forwards the request to SS7 stack 308. The request may include the LRN obtained from the toll free database response. In line 13 of the message flow diagram, SS7 stack 308 formulates and sends a TCAP message to STP 104. STP 104 forwards the TCAP message to SCP 110. In line 15 of the message flow diagram, SCP 110 determines the LRN corresponding to the received LRN and returns the ported-to LRN to SSG 102 via STP 104. Within SSG 104, in line 17 of the message flow diagram, the LRN is sent to IWU 302. In line 18 of the message flow diagram, the LRN is sent to SIP SSF 300.

In line 19 of the message flow diagram, SIP SSF 300 sends a 302 REDIRECT message to proxy 114. In line 20 of the message flow diagram, proxy 114 acknowledges the 302 REDIRECT message. In line 21 of the message flow diagram, proxy 114 sends and INVITE message to proxy server 400 associated with the LRN. In line 22 of the message flow diagram, proxy 400 returns a 100 TRYING message in response to the INVITE message. In line 23 of the message flow diagram, proxy 400 sends an INVITE message to the SIP user agent 402 associated with the called party. In line 24 of the message flow diagram, SIP user agent 402 responds with a 100 TRYING message indicating that the called party is being contacted. Thus, using the messages illustrated in FIG. 4, a toll free lookup and an LNP lookup are performed in response to a single INVITE message without requiring that the INVITE message include any non-standard SIP header information.

As stated above with regard to FIG. 2, rather than sending a REDIRECT message to the originating SIP proxy, SSG 102 may generate a new INVITE message and forward it to the called party SIP proxy. FIG. 5 illustrates exemplary messages that may be exchanged between SSG 102 and other entities in implementing such a feature. In FIG. 5, the messages in lines 1-18 are the same as the corresponding messages illustrated in FIG. 4. Hence, a description thereof will not be repeated herein. However, in line 19, rather than sending a REDIRECT message to proxy 114, SSF 300 sends an INVITE message to called party proxy 400. The INVITE message instructs called party proxy 400 to complete a call with proxy 114. The remaining lines FIG. 5 are the same as those in FIG. 4. Thus, by automatically generating a new INVITE message, the burden on the originating SIP proxy is further reduced.

Although in the examples described above, SSG 102 formulates TCAP queries and forwards the TCAP queries to an SCP in the SS7 network in order to obtain the information required to complete a call. However, the subject matter described herein is not limited to such an implementation. In an alternate implementation, the data needed to complete the call may be stored in the SSG or the STP. In an implementation in which the information required to complete the call is located in the SSG or the STP, a TCAP query to the SS7 network may not be required. For example, if the SSG receives an INVITE message that requires LNP service, the SSG may formulate a TCAP query to STP 104. In response to the TCAP query, STP 104 may perform a lookup in its internal LNP database and forward the response to SSG 102. STP 104 may perform similar lookups for other services for which STP 104 includes internal databases. Providing NP or other services at the STP for SIP originated calls reduces traffic in the SS7 network be eliminating the need for queries and responses to stand-alone SCP databases.

It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter. 

What is claimed is:
 1. A method for providing telecommunications services in a session initiation protocol (SIP) and SS7 environment, the method comprising: at a SIP and SS7 gateway: (a) receiving a SIP INVITE message from a SIP network and relating to a call from an originating SIP proxy server, the SIP INVITE message including a called party number stored in a To field of the SIP INVITE message, wherein receiving a SIP INVITE message includes receiving a SIP INVITE message without any extension headers identifying the type of service required for the call; (b) determining, based on the called party number from the SIP INVITE message, a type of telecommunications service required for the call, wherein determining a type of telecommunications service required for the call includes one of: (i) determining the type of telecommunications service based on a type of the called party number; and (ii) determining the type of telecommunications service by comparing the called party number to a database of called party numbers maintained by the SIP and SS7 gateway that correlates different called party numbers with a plurality of different service types; (c) formulating an SS7 query to a database in an SS7 network based on the identified type of service for the call; (d) receiving a response from the database to the query; and (e) extracting data from the response and data to facilitate completion of the call, wherein the SIP network and the SS7 network are incompatible with each other because the SIP network and the SS7 network use different communications protocols.
 2. The method of claim 1 wherein using the data extracted from the response to facilitate completion of the call includes forwarding the data to the originating SIP proxy.
 3. The method of claim 1 wherein using the data extracted from the response to facilitate completion of the call includes generating an INVITE message based on the data extracted from the response and forwarding the INVITE message to a terminating SIP proxy.
 4. The method of claim 1 wherein using the data extracted from the response to facilitate completion of the call includes performing a second query to the SS7 network using the data from the response and receiving a response to the second query.
 5. The method of claim 4 wherein the second query comprises a local number portability (LNP) query and wherein using the data from the response to facilitate completion of the call include extracting a directory number (DN) from the response to the LNP query and forwarding the DN to the originating SIP proxy server.
 6. The method of claim 5 wherein forwarding the DN to the originating SIP proxy server includes indicating to the originating SIP proxy that a number portability database lookup has been performed.
 7. The method of claim 1 comprising, in response to receiving the INVITE message, determining whether a telecommunications service is required and wherein performing steps (b)-(e) includes performing steps (b)-(e) only in response to determining that a telecommunications service is required.
 8. The method of claim 7 comprising, in response to determining that a telecommunications services not required, signaling to complete the call with a destination entity.
 9. A method for providing toll free calling and number portability translation services in a session initiation protocol (SIP) and SS7 network environment, the method comprising: at a SIP and SS7 gateway: (a) receiving a SIP INVITE message relating to a call from a SIP proxy server, the SIP INVITE message including a called party number stored in a To field of the SIP INVITE message, wherein receiving a SIP INVITE message includes receiving a SIP INVITE message without an extension header identifying a type of service required for the call; (b) determining whether the SIP INVITE message requires toll free calling service based on the called party number by performing a lookup in a database that correlates different called party numbers with different service types; (c) in response to determining that the SIP INVITE message requires toll free calling service, formulating a query to a toll free calling service database to determine a routing number corresponding to the called party number; (d) receiving a response from the toll free calling service database including the routing number; and (e) for the same call for which the toll free calling service database is queried and after receiving the routing number: (i) formulating a number portability query to a number portability database to determine a directory number corresponding to the routing number; (ii) receiving a response from the number portability database including the directory number; and (iii) using the directory number to facilitate completion of the call.
 10. The method of claim 9 wherein using the directory number to facilitate completion of the call includes formulating a SIP REDIRECT message including the directory number and forwarding the REDIRECT message to the originating SIP proxy server.
 11. The method of claim 9 wherein using the directory number to facilitate completion of the call includes formulating a second INVITE message including the directory number and forwarding the second INVITE message to a terminating SIP proxy server.
 12. The method of claim 9 comprising communicating the number portability lookup status for the directory number to the originating SIP proxy server.
 13. A SIP and SS7 gateway comprising: (a) a SIP interface for receiving a SIP INVITE message from a SIP network and relating to call from a SIP proxy server, the SIP INVITE message including a called party number stored in a To field of the SIP INVITE message; (b) an interworking unit for determining a type of telecommunications service required for the call based on the called party number from the SIP message and for requesting a query based on the identified service type, wherein the interworking unit is adapted to determine the service type based on the INVITE message without requiring an extension header identifying the service type to be present in the INVITE message, and wherein determining a type of telecommunications service required for the call includes one of: (i) determining the type of telecommunications service based on a type of the called party number; and (ii) determining the type of telecommunications service by comparing the called party number to a database of called party number maintained by the SIP and SS7 gateway that correlates different called party numbers with a plurality of different service types; and (c) a database interface for receiving the request and for formulating an SS7 query to a database in an SS7 network and obtaining a response to the query, wherein the interworking unit is adapted to extract data from the response and use the data to facilitate completion of the call, wherein the SIP network and the SS7 network are incompatible with each other because the SIP network and the SS7 network use different communications protocols.
 14. The SIP and SS7 gateway of claim 13 wherein the query comprises a number portability query and wherein the interworking unit is adapted to communicate a number portability lookup status indicating that a number portability lookup has been performed to the originating SIP proxy server.
 15. The SIP and SS7 gateway of claim 13 wherein the query comprises a toll free query to obtain a first routing number and wherein the interworking unit is adapted to formulate a number portability query using the routing number extracted from the toll free query response.
 16. The system of claim 13 wherein the interworking unit is adapted to forward the data extracted from the query to the originating SIP proxy server.
 17. The SIP and SS7 gateway of claim 13 wherein the interworking unit is adapted to generate a new INVITE message including the data extracted from the response and forward the new INVITE message to a terminating SIP proxy server.
 18. The SIP and SS7 gateway of claim 13 wherein the interworking unit is adapted to determine whether a telecommunications service is required for the call.
 19. A non-transitory computer-readable medium encoded with computer executable instructions that when executed by the processor of a computer control the computer to perform steps comprising: at a SIP and SS7 gateway: (a) receiving a SIP INVITE message from a SIP network and relating to a call from an originating SIP proxy server, the SIP INVITE message including a called party number stored in a To field of the SIP INVITE message, wherein receiving a SIP INVITE message includes receiving a SIP INVITE message without any extension headers identifying the type of service required for the call; (b) determining, based on the called party number from the SIP message, a type of telecommunications service required for the call, wherein determining a type of telecommunications service required for the call includes one of: (i) determining the type of telecommunications service based on a type of the called party number; and (ii) determining the type of telecommunications service by comparing the called party number to a database of called party number maintained by the SIP and SS7 gateway that correlates different called party numbers with a plurality of different service types; (c) formulating an SS7 query to a database in an SS7 network based on the identified type of service for the call; (d) receiving a response from the database to the query; and (e) extracting data from the response and using the data to facilitate completion of the call, wherein the SIP network and the SS7 network are incompatible with each other because the SIP network and the SS7 network use different communications protocols. 